Detect Unused Link Modules

Hello,

I have inherited a project which has been restructured many times in the past.
There are lots of old link modules scattered around in various folders.

The current archetecture uses link modules in one "Admin" folder.
How can I check that all the old link modules are now unused so I can delete them?
They still contain linksets, but that dosen't mean they have links.

Thanks
SystemAdmin - Tue Oct 16 05:32:21 EDT 2012

Re: Detect Unused Link Modules
SystemAdmin - Tue Oct 16 05:49:25 EDT 2012

I have used the "Report the Number of Links Per Linkset" script from SmartDXL to check on actual links in link modules, see

http://www.smartdxl.com/content/?p=428

  • Pekka Mäkinen - http://www.softqa.eu/

Re: Detect Unused Link Modules
SystemAdmin - Tue Oct 16 06:06:29 EDT 2012

SystemAdmin - Tue Oct 16 05:49:25 EDT 2012
I have used the "Report the Number of Links Per Linkset" script from SmartDXL to check on actual links in link modules, see

http://www.smartdxl.com/content/?p=428

  • Pekka Mäkinen - http://www.softqa.eu/

Thanks, that did the job

Re: Detect Unused Link Modules
SystemAdmin - Tue Oct 16 08:54:37 EDT 2012

SystemAdmin - Tue Oct 16 06:06:29 EDT 2012
Thanks, that did the job

I don't have access to DOORS at the moment to confirm this, but I think that you might get problems with links in baseline sets.
The SmartDXL script only checks links going out of the "current" version of the link modules.
AFAIK and if I remember correctly, if you have baseline sets where links go from a baseline of one module to a baseline of another module through this link set and you delete the link module, these "old" links will disappear.

You should check whether this is a problem for you, i.e. whether you will have to browse through old links before you delete anything

Re: Detect Unused Link Modules
SystemAdmin - Tue Oct 16 09:28:12 EDT 2012

SystemAdmin - Tue Oct 16 08:54:37 EDT 2012
I don't have access to DOORS at the moment to confirm this, but I think that you might get problems with links in baseline sets.
The SmartDXL script only checks links going out of the "current" version of the link modules.
AFAIK and if I remember correctly, if you have baseline sets where links go from a baseline of one module to a baseline of another module through this link set and you delete the link module, these "old" links will disappear.

You should check whether this is a problem for you, i.e. whether you will have to browse through old links before you delete anything

Good point, thanks I'll check.

I had overlooked baseline sets as IMHO there pain/benifit ratio is so poor that they are not worth bothering with.
I hope my predecessor felt the same!

Re: Detect Unused Link Modules
SystemAdmin - Tue Oct 16 09:44:08 EDT 2012

SystemAdmin - Tue Oct 16 08:54:37 EDT 2012
I don't have access to DOORS at the moment to confirm this, but I think that you might get problems with links in baseline sets.
The SmartDXL script only checks links going out of the "current" version of the link modules.
AFAIK and if I remember correctly, if you have baseline sets where links go from a baseline of one module to a baseline of another module through this link set and you delete the link module, these "old" links will disappear.

You should check whether this is a problem for you, i.e. whether you will have to browse through old links before you delete anything

hhhummmmnnn... thinking about it, I wonder if it breaks normal baselines too.

I've tested it.

I have Source linked to Target via LM1.
I baseline it.
I delete/recreate the links via LM2.
I (soft) delete LM1.
I open the baseline.

The outlink indicatiors are now hollow, but they can still be followed.

Seems to me Link Modules are fairly pointless since:
the links are stored in the source module.
the links tell you the target
the source modules folder has the LinkModuleDescriptor which is basically a duplicate of a linkset but with better features(Mandatory)

Re: Detect Unused Link Modules
Mathias Mamsch - Sun Oct 21 06:08:43 EDT 2012

SystemAdmin - Tue Oct 16 09:44:08 EDT 2012
hhhummmmnnn... thinking about it, I wonder if it breaks normal baselines too.

I've tested it.

I have Source linked to Target via LM1.
I baseline it.
I delete/recreate the links via LM2.
I (soft) delete LM1.
I open the baseline.

The outlink indicatiors are now hollow, but they can still be followed.

Seems to me Link Modules are fairly pointless since:
the links are stored in the source module.
the links tell you the target
the source modules folder has the LinkModuleDescriptor which is basically a duplicate of a linkset but with better features(Mandatory)

A linkset and a link module descriptor are two fairly different beasts. A Linkset is implemented to behave like a 'container' for links. They are the objects of link modules. When you delete the linkset, then the links associated with the linkset will go (when you open the source module exclusive and save it, until then they will be invisible). Using the C permission on the link modules you can control who can create a new linkset in a link module. Linksets are baselined in the link module when you use a baseline set to baseline a module.

Link module descriptors only tell you to what module you are allowed to use as a target when you create the next link (and define a link module for that link). It does not tell you anything about existing links. For managing that you need A permission on the parent folder (good bye access management!). They are not baselined and you can remove / change them without any effects on the links.

So they really do not replace each other and neither of the mechanisms is suitable for the normal use cases that people have in DOORS. But the needs of the users never was of big importancy for the development of DOORS. Maybe in DOORS next ...

Regards, Mathias

Mathias Mamsch, IT-QBase GmbH, Consultant for Requirement Engineering and D00RS